The present invention relates to a storage system provided with a cache memory and a control method of the cache memory.
As a technique for improving a performance of a storage system having plural storage units (hereinafter referred to as just “storage system”), there has been well-known a technique of introducing a volatile semiconductor memory section (hereinafter referred to as “cache memory”) to the storage system.
With respect to a data write request, a storage system having a cache memory returns a response of completing the write to a computer that requires the data write at the time when the data is written in the cache memory (hereinafter referred to as just “computer” or “host computer”), while asynchronously writes data to a storage unit. Since the speed of writing data to the cache memory is faster than the storage unit (a disk drive or the like here), the storage system can return the response to the host computer with higher speed.
However, latest data is present only in the cache memory until the data is written in the storage unit, so that the storage system is required to enhance reliability of the cache memory.
A known method as a technique to improve the reliability of the cache memory is the one for establishing a redundant configuration of the cache memory. Methods for establishing the redundant configuration include storing a copy of data in plural cache memories (mirroring) or a cache memory having a RAID construction disclosed in Japanese laid-open publication number Hei 9-265435.
Further, there has been known a control method (“write through control”) for surely storing data in the storage unit with respect to each write request in order to maintain the reliability of the storage system also in a case where the redundancy of the cache memory is lost due to a failure or the like of the cache memory. However, the reliability is maintained by the write through control, but the abovementioned advantage of the cache memory is lost, with the result that, even if the cache memory is possessed, the response speed to the write request becomes approximately equal to the case where the cache memory is not possessed.
In view of this, techniques have been devised for increasing the redundancy of the cache memory so as not to require the write through control. Such techniques include, for example, providing a spare cache memory or providing three or more cache memories for which the remaining write data that is to be written in the region covered by the cache memory having the failure occurring is shared by the remaining cache memories as disclosed in Japanese laid-open publication number 2001-344154.
A demand for configuring such a storage system in further a large scale has currently been risen. However, a conventional technique unifiedly utilizes a cache memory. Therefore, as the configuration scale of the storage system becomes large, an access is concentrated on the cache memory or information for managing the cache memory, thereby entailing a problem that a throughput performance of the storage system is difficult to be maintained only by having the cache memory.
Further, the problem same as the abovementioned one is applied to the case of maintaining the reliability of the storage system and write performance in a case where the failure occurs in the cache memory. Specifically, the technique disclosed in the aforesaid Japanese laid-open publication number 2001-344154 unifiedly utilizes the cache memory, so that as the configuration scale of the storage system becomes large, an access is concentrated on the cache memory or information for managing the cache memory upon the occurrence of the failure in the cache memory, thereby entailing a problem that a throughput performance of the storage system is difficult to be maintained only by having the cache memory, and consequently, it is difficult to provide both the enlargement of the configuration scale and the reliability upon the occurrence of the failure.